6
תגובות
במידה ואני רוצה להעביר את המשתמש לדף אחר, במה עדיף לי להשתמש:
echo '<meta http-equiv="refresh" content="0; url=index.php" />';

או:
header('location: index.php');

ואם אשתמש ב header, לא יהיו לי שגיאות/אזהרות כלשהן?

תודה!

6 תשובות

avatar ענה intval ב 28 לינואר 2012 #

עדיף ב header כי זה יקרה מהר יותר.
שים לב, ש header זה כותר והוא חייב להישלח לפני כל פלט שהוא לדפדפן.
ראה עוד על headers already sent

avatar ענה משתמש_95587 ב 29 לינואר 2012 #

למה או זה או זה? עדיף גם וגם וגם.
גם כותר (head)
גם מטה (meta)
וגם לינק (a)
יש דפדפים ובוטים שלא תומכים עדיין ואתה רוצה שכולם היו שמחים, לא ככה?

avatar ענה yehudade ב 29 לינואר 2012 #

פקודת header, כמשמעה תשלח כותרת HTTP בלי תוכן, כל דפדפן ובוט יודע להבחין בקודי 301 ו-302.
גם וגם וגם היא לעולם לא תשובה, בפיתוח ותכנות חייבים לבחור וצריכים להיות החלטיים ועקביים בבחירות.
כדאי כמובן לבדוק את המשמעות של כל קוד HTTP לפני שמשתמשים באחד מהם.
קודי HTTP בויקיפדיה באנגלית

avatar ענה משתמש_96622 ב 29 לינואר 2012 #

תלוי אם אתה רוצה 301 או לא אם כן אז header אם לא אז meta

avatar ענה משתמש_96654 ב 29 לינואר 2012 #

@yehudade
אם מישהו חוסם בדפדפן שלו את הכותר Location הוא פשוט יקבל דף ריק, ובגלל זה עדיף להוסיף לינק.

avatar ענה yehudade ב 29 לינואר 2012 #

@משתמש_96654
פעם ראשונה שאני שומע על האפשרות הזו, גם עם תוספי HTTP LIVE וכדומה אף משתמש מתקדם ככל שיהיה לא יחסום כותרת Location שלא לצורך בדיקות. חסימת הפניות meta אני מכיר והן בדרך כלל מוטמעות כהגנה וייתכן שהגולש לא יבין אפילו למה הוא רואה דף לבן, אבל אלא אם כן אתה מדפדף עם telnet אני לא רואה מקרה שבו לא תועבר מבלי שתתכנן זאת מראש.